default value expressions 您所在的位置:网站首页 default t default value expressions

default value expressions

#default value expressions| 来源: 网络整理| 查看: 265

default value expressions - produce the default value Article 12/29/2022 2 minutes to read

A default value expression produces the default value of a type. There are two kinds of default value expressions: the default operator call and a default literal.

You also use the default keyword as the default case label within a switch statement.

default operator

The argument to the default operator must be the name of a type or a type parameter, as the following example shows:

Console.WriteLine(default(int)); // output: 0 Console.WriteLine(default(object) is null); // output: True void DisplayDefaultOf() { var val = default(T); Console.WriteLine($"Default value of {typeof(T)} is {(val == null ? "null" : val.ToString())}."); } DisplayDefaultOf(); DisplayDefaultOf(); DisplayDefaultOf(); // Output: // Default value of System.Nullable`1[System.Int32] is null. // Default value of System.Numerics.Complex is (0, 0). // Default value of System.Collections.Generic.List`1[System.Int32] is null. default literal

You can use the default literal to produce the default value of a type when the compiler can infer the expression type. The default literal expression produces the same value as the default(T) expression where T is the inferred type. You can use the default literal in any of the following cases:

In the assignment or initialization of a variable. In the declaration of the default value for an optional method parameter. In a method call to provide an argument value. In a return statement or as an expression in an expression-bodied member.

The following example shows the usage of the default literal:

T[] InitializeArray(int length, T initialValue = default) { if (length < 0) { throw new ArgumentOutOfRangeException(nameof(length), "Array length must be nonnegative."); } var array = new T[length]; for (var i = 0; i < length; i++) { array[i] = initialValue; } return array; } void Display(T[] values) => Console.WriteLine($"[ {string.Join(", ", values)} ]"); Display(InitializeArray(3)); // output: [ 0, 0, 0 ] Display(InitializeArray(4, default)); // output: [ False, False, False, False ] System.Numerics.Complex fillValue = default; Display(InitializeArray(3, fillValue)); // output: [ (0, 0), (0, 0), (0, 0) ]

Tip

Use .NET style rule IDE0034 to specify a preference on the use of the default literal in your codebase.

C# language specification

For more information, see the Default value expressions section of the C# language specification.

See also C# reference C# operators and expressions Default values of C# types Generics in .NET


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有